#ifndef _WEB_ROUTE_H_
#define _WEB_ROUTE_H_
#include "http.h"
#include "FileAccess.h"
void regRoute();
void defineMime();
class WebRouteMapper {
    private:
        static std::map<std::string,HttpController*> routeMap;
        static std::map<int, HttpController*> errorRoute;
        static HttpController* defaultController;
    public:
        WebRouteMapper();
        /**
         * 设置默认的控制器
         */
        static void setDefaultController(HttpController* ctrl);
        /**
         * 使用URI获取控制器
         */
        static HttpController* getController(std::string &uri);
        /**
         * 使用HTTP响应码获取控制器
         */
        static HttpController* getErrorController(int code);
        /**
         * 添加一个URI控制器路由
         */
        static void addRoute(std::string uri, HttpController *controller);
        /**
         * 添加一个HTTP响应码控制器路由
         */
        static void setErrorController(int code, HttpController *controller);
};
#endif